iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
1

今天介紹入門的 CTF 題目,可以檢驗過去的學習知識是否夠紮實(當然某些題目可能需要通靈XD)。基本上,會挑一些基礎的、可以解釋的題目當作練習題,並且把它寫成 Writeup。

CTF 介紹

CTF (Capture the Flag) 是一種學習攻擊與防禦的駭客競賽

Reference

一題入門的 CTF

執行 file

看檔案資訊

執行 strings ./bin | grep flag

使用 strings 看是否有flag

執行程式 ./bin

結果如下圖(都不是真正的 flag)

開始靜態分析(如下圖)

main

發現 main 裡呼叫一個 func()

逆向 func

disassemble func ,發現有趣的事情

此外這題也可以使用動態追蹤

動態分析(使用 GDB)

設置斷點

b main

run

發現它停在 call 0x804841d (下圖 => 指的地方)

使用 si 追進 func
發現這個 func 把資料放到 Stack 上

透過 Hex to ASCII Converter

可獲得 flag 如下:

因為在 little endian 的設計模式下,字串會4個 byte 反轉存放於記憶體位址中,將其反轉後,得到:

CTF{here_is_the_flag}

結論

今天小試身手一道簡易的 CTF 題目,明天接著介紹 Buffer over flow!


上一篇
Day23 - 逆向並找出指標的特徵
下一篇
Day25 - Buffer Overflow
系列文
逆向工程 – 從入門到放棄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言